The term “cloud computing” is generally used to describe a computing model which enables on-demand access to a shared pool of computing resources, such as computer networks, servers, software applications, and services, and which allows for rapid provisioning and release of resources with minimal management effort or service provider interaction.
A cloud computing environment (sometimes referred to as a cloud environment, or a cloud) can be implemented in a variety of different ways to best suit different requirements. Generally, a cloud computing model enables some of those responsibilities which previously may have been provided by an organization's own information technology department, to instead be delivered as service layers within a cloud environment, for use by consumers (either within or external to the organization, according to the cloud's public/private nature).
As an illustrative example, a cloud computing model can be implemented as Platform as a Service (PaaS), in which consumers can use software programming languages and development tools supported by a PaaS provider to develop, deploy, and otherwise control their own applications, while the PaaS provider manages or controls other aspects of the cloud environment (i.e., everything below the run-time execution environment).
In such an environment, it can be beneficial to test that the services of the environment are operating properly. For example, one or more service domains can be installed, configured, customized, and validated in a source or test environment, prior to rolling out those service domains to a target or production environment.
However, replicating such a service domain, for example from a test environment to a production environment, typically requires replicating the configurations and services from the source service domain to the target service domain. Often, this requires considerable effort on the part of an administrator, for example to reapply configuration changes made in the original environment to the new environment. These are the general areas that embodiments of the invention are intended to address.